package leetcode.editor.cn;

//给定两个字符串 s 和 t，它们只包含小写字母。 
//
// 字符串 t 由字符串 s 随机重排，然后在随机位置添加一个字母。 
//
// 请找出在 t 中被添加的字母。 
//
// 
//
// 示例 1： 
//
// 输入：s = "abcd", t = "abcde"
//输出："e"
//解释：'e' 是那个被添加的字母。
// 
//
// 示例 2： 
//
// 输入：s = "", t = "y"
//输出："y"
// 
//
// 示例 3： 
//
// 输入：s = "a", t = "aa"
//输出："a"
// 
//
// 示例 4： 
//
// 输入：s = "ae", t = "aea"
//输出："a"
// 
//
// 
//
// 提示： 
//
// 
// 0 <= s.length <= 1000 
// t.length == s.length + 1 
// s 和 t 只包含小写字母 
// 
// Related Topics 位运算 哈希表 字符串 排序 👍 285 👎 0

import java.util.Arrays;

//Java：找不同
public class FindTheDifference_389{
    public static void main(String[] args) {
        Solution solution = new FindTheDifference_389().new Solution();
        // TO TEST
        System.out.println((char) (1+'a'));
    }
    
    //leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public char findTheDifference(String s, String t) {
        int length1=s.length(), length2=t.length();
        int[] count=new int[26];
        for (int i = 0; i < length1; i++)
            count[s.charAt(i)-'a']++;
        for (int i = 0; i < length2; i++){
            count[t.charAt(i)-'a']--;
            if (count[t.charAt(i)-'a'] == -1)
                return t.charAt(i);
        }

        return ' ';
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}
